Skip to content

fix:fixCI#3154

Merged
chejinge merged 1 commit intoOpenAtomFoundation:unstablefrom
chejinge:40CI
Sep 3, 2025
Merged

fix:fixCI#3154
chejinge merged 1 commit intoOpenAtomFoundation:unstablefrom
chejinge:40CI

Conversation

@chejinge
Copy link
Copy Markdown
Collaborator

@chejinge chejinge commented Sep 2, 2025

Summary by CodeRabbit

  • Chores
    • Improved build pipeline reliability by refining dependency installation in continuous integration. This reduces potential conflicts with pre-installed tools on runners and helps ensure consistent, repeatable builds.
    • No changes to user-facing features, behavior, or APIs.

@coderabbitai
Copy link
Copy Markdown

coderabbitai Bot commented Sep 2, 2025

Walkthrough

A GitHub Actions workflow update modifies the Ubuntu dependency installation step to explicitly uninstall any existing Homebrew-installed cmake before reinstalling dependencies. The new command precedes the existing brew install line and is made non-fatal with a trailing “|| true”. No other files or public APIs are changed.

Changes

Cohort / File(s) Summary
CI workflow
\.github/workflows/pika.yml
Adds a pre-install command to uninstall Homebrew cmake (`brew list --versions cmake && brew uninstall --ignore-dependencies --force cmake

Sequence Diagram(s)

sequenceDiagram
  autonumber
  participant GA as GitHub Actions Runner (Ubuntu)
  participant HB as Homebrew
  rect rgb(240,245,255)
    note over GA,H B: Updated dependency step
    GA->>HB: Check cmake version (brew list --versions cmake)
    alt cmake present
      GA->>HB: Uninstall cmake (ignore-deps, force)
      HB-->>GA: Uninstalled (or ignored errors via || true)
    else cmake absent
      GA-->>GA: Skip uninstall (|| true prevents failure)
    end
    GA->>HB: Install gcc@10, automake, cmake, make, binutils
    HB-->>GA: Packages installed
  end
Loading

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Poem

I hop through workflows, tidy and keen,
Nibbling old cmake from the build machine.
A burrow of bins now freshly arrayed,
With gcc@10 and friends, neatly laid.
Thump-thump—CI purrs, my whiskers gleam,
A clean reinstall fuels the pipeline’s dream.

✨ Finishing Touches
🧪 Generate unit tests
  • Create PR with unit tests
  • Post copyable unit tests in a comment

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

CodeRabbit Commands (Invoked using PR/Issue comments)

Type @coderabbitai help to get the list of available commands.

Other keywords and placeholders

  • Add @coderabbitai ignore or @coderabbit ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Status, Documentation and Community

  • Visit our Status Page to check the current availability of CodeRabbit.
  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

@github-actions github-actions Bot added the ☢️ Bug Something isn't working label Sep 2, 2025
Copy link
Copy Markdown

@coderabbitai coderabbitai Bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 0

🧹 Nitpick comments (2)
.github/workflows/pika.yml (2)

156-157: Simplify and de-risk the uninstall line (avoid && ... || true precedence traps).

A && B || true can mask unexpected failures in brew list. You can get the same non-fatal behavior more clearly with a single uninstall guarded by || true.

-           brew list --versions cmake && brew uninstall --ignore-dependencies --force cmake || true
+           brew uninstall --ignore-dependencies --force cmake || true

160-163: Verify Homebrew gcc@10 availability on macOS-13 runners.

gcc@10 may be deprecated in Homebrew; if so, the install and hardcoded paths will fail. Consider falling back to gcc if gcc@10 is unavailable.

-          export CC=/usr/local/opt/gcc@10/bin/gcc-10 
-          cmake -B build -DCMAKE_C_COMPILER=/usr/local/opt/gcc@10/bin/gcc-10 -DUSE_PIKA_TOOLS=ON -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CXX_FLAGS_DEBUG=-fsanitize=address -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
+          GCC_PREFIX="$(brew --prefix gcc@10 2>/dev/null || brew --prefix gcc)"
+          export CC="${GCC_PREFIX}/bin/$(basename "$(ls -1 ${GCC_PREFIX}/bin/gcc-* | head -n1)")"
+          cmake -B build -DCMAKE_C_COMPILER="${CC}" -DUSE_PIKA_TOOLS=ON -DCMAKE_BUILD_TYPE=${{ env.BUILD_TYPE }} -DCMAKE_CXX_FLAGS_DEBUG=-fsanitize=address -D CMAKE_C_COMPILER_LAUNCHER=ccache -D CMAKE_CXX_COMPILER_LAUNCHER=ccache
📜 Review details

Configuration used: CodeRabbit UI

Review profile: CHILL

Plan: Pro

💡 Knowledge Base configuration:

  • MCP integration is disabled by default for public repositories
  • Jira integration is disabled by default for public repositories
  • Linear integration is disabled by default for public repositories

You can enable these sources in your CodeRabbit configuration.

📥 Commits

Reviewing files that changed from the base of the PR and between 6d4b8d7 and abe0f95.

📒 Files selected for processing (1)
  • .github/workflows/pika.yml (1 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (4)
  • GitHub Check: build_on_ubuntu
  • GitHub Check: build_on_centos
  • GitHub Check: build_on_macos
  • GitHub Check: Analyze (go)

@chejinge chejinge merged commit 6f11539 into OpenAtomFoundation:unstable Sep 3, 2025
13 checks passed
byseea11 pushed a commit to byseea11/pikiwidb that referenced this pull request Sep 27, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

☢️ Bug Something isn't working

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants